Over-the-Air Updates (OTA) Main Providers
Learn more RidgeRun Platform Security Manual RidgeRun documentation is currently under development. |
This section goes over a brief description of some of the main providers of OTA services for embedded systems, among which you can find the following:
- Mender.io: is an open-source software for managing and deploying OTA updates for embedded linux systems. As open-source, it can be used with no cost but it also offers paid features for companies that desire to obtain more tailored solutions. One of Mender's advantages is that it offers a wide range of community integrations for different boards, which can make the process of obtaining the desired integration simpler. Mender uses A/B redundancy to provide the possibility of rolling back updates or ensure that the system will not be affected if an update fails.
- NVIDIA Jetson OTA: NVIDIA offers its own OTA solution for its Jetson platforms running JetPack version 4.6 or superior. It provides the ability to update specific components of the system using Debian packages or update the complete image of the system with packages created by the user. It also allows updating only some key system components like the device tree or bootloader.
- Memfault: is a platform that focuses mostly on diagnostics and monitoring of IoT devices running on several platforms, such as Linux, Android, or MCU. It also offers the possibility of deploying OTA updates, detecting malfunctions or issues with a particular update, and rolling it back before it affects all devices selected initially as targets.
- RAUC: Similar to Mender, RAUC is an open-source platform that offers OTA updates for embedded Linux devices. It offers custom frameworks that can be adapted to more specific device needs, and it also uses A/B redundancy to allow rolling back an update. RAUC offers built-in HTTPS streaming, so extra storage in the device may not be required.
Feature | Mender | NVIDIA Jetson OTA | Memfault | RAUC |
---|---|---|---|---|
Supported platforms | Embedded Linux devices | NVIDIA Jetson platforms | Embedded platforms such as Linux, Android or MCU | Embedded Linux devices |
Implementation | Official support for Yocto and Debian based OS images | Official guides for implementation on Linux for Tegra | Official implementation guides for Linux, Android and MCU | Official Yocto support |
Main use | OTA updates with support for rollback and automatic update checking. Possibility to create custom update modules to perform updates defined by the user such as updating an specific partition | Deploy updates for Jetson platforms with possibility to update all systems components as a whole or as individual components. Can be used for updating specific components such as the bootloader or device tree | Platform for embedded device monitoring with support for OTA updates. Collectes device data such as crash reports, health metrics and usage analysis, it has the ability to detect possible issues with a deployed update and roll it back before it affects all target devices | Lightweight platform for OTA updtaes, supports A/B partitioning for rolling back updates without issues or having a security measured in the case an update fails. It has the ability to stream update bundles over HTTPS so that it is not necessary to download in the target device to apply an update. |
GUI to manage updates | Yes | No | Yes | No |
Ability to rollback updates | Yes, trough A/B partitioning | Restore previously backed up files | Yes | Yes, trough A/B partitioning |
Updates to critical system components | Yes, trough custom update modules | Yes | Possibility to update firmware | Yes |